There is a growing need for carrying real-time multimedia traffic (voice, audio, video) over packet data networks such as Local Area Network's (LAN's), frame relay and Internet. These networks are designed primarily for data traffic, and do not provide the necessary quality of service (QoS) guarantees for reliable real-time multimedia communication.
Real-time multimedia applications may be divided into two types: two-way interactive multimedia and one-way streaming multimedia. In one-way streaming, the information flow is largely one-way from a server to a client, except for information sent by the client to control the streaming (e.g., VCR-like controls such as fast forward, reverse, retransmission requests, etc.). The end-to-end delay requirements are less stringent for one-way streaming than for two-way interactive multimedia, but are more strict than for non real-time data applications.
A significant impediment to reliable multimedia streaming on packet data networks is packet loss. Packet loss occurs because of limited buffering and processing capabilities of network nodes, and to a lesser extent because of bit errors on physical links.
For data traffic, many retransmission protocols have been developed to recover lost packets (e.g., TCP). The well-known retransmission scheme of TCP (Transport Control Protocol) uses positive acknowledgment messages sent by the receiver coupled with sender time-outs to determine when a retransmission is required. Since TCP sends a positive acknowledgment only when a packet is received in sequence, several packets will often be retransmitted after a time-out, thereby increasing the overhead. The TCP protocol also uses tight flow control to avoid buffer overflow in receiving clients. For these reasons, TCP is not well-suited for multimedia streaming.
Another problem encountered in carrying real-time multimedia traffic over existing data networks is delay jitter caused by variations in delay suffered by packets that traverse the network. Since real-time multimedia requires continuous playback, such delay jitter may lead to serious quality degradations due to buffer overflow or underflow in the client. In one-way multimedia streaming, such delay jitter may be compensated by buffering a portion of the incoming stream prior to the start of playback.
In prior art, there are three known approaches to streaming multimedia information from a server to a client over a packet data network:
In the first approach, existing data transmission protocols are used to download the entire multimedia file from the server to the client and then play the file locally. The problem with this approach is that even for moderately long multimedia files, the user has to wait for a long period of time before the start of playback.
In the second approach, multimedia information is streamed from the server to the client, but no retransmission is used to recover lost packets. The client can now start playing the multimedia stream almost immediately. Although this eliminates the long initial delay of the first approach, it fails to provide adequate QoS, because of the significant degradation in signal quality caused by packet loss.
A third approach was described in a recent article which appeared in the Proceedings of the Fourth International World Wide Web Conference, 1995. This article by Z. Chen, S.-M. Tan, R. H. Campbell and Y. Li titled "Real Time Video and Audio in the World Wide Web," describes a retransmission scheme to improve the QoS. In this method, the receiver detects when packets are lost, and depending on the video frame lost (I, B or P-frame), it requests a retransmission. In this scheme, the client also controls the bitrate of the streaming based on the packet loss rate. Although the retransmission scheme used in this approach will improve the QoS compared to the other two approaches, it still does not provide adequate protection against packet loss, when the packet loss rate is very high, and retransmissions often result in failure.
Another obstacle to multimedia streaming lies in the low-speed access links when the client is connected to the data network with a low-speed access link. Residential or small business users may have to use the analog telephone network, also known as the Public Switched Telephone Network (PSTN), or the Integrated Service Digital Network (ISDN) to access the packet network. These access links provide very low transmission speeds and limit the quality of multimedia streaming. In addition, on modem links bit errors may occur fairly frequently. FIG. 1, numeral 100, shows a typical network configuration in which a multimedia server (102) is attached to a high-speed packet data network (104), such as frame relay or the Internet, via a high-speed link (e.g., a T1 link) (106). A client (or user) (110), attached to the same packet network via a low-speed link (e.g., PSTN or ISDN) (108), accesses multimedia files stored on the server. The packet network has high probability of packet loss and high delay jitter.
In the configuration shown in FIG. 1, it is highly desirable to utilize all the available bandwidth on the client's access link by streaming the multimedia information at the maximum rate available on that link. However, this contradicts the need for retransmissions, since repeated transmissions usually require additional bandwidth and should be used judiciously. At the same time, delay requirements in multimedia streaming demand speedy recovery of the lost information. None of the prior art schemes described above are designed to deal with these issues.
A retransmission protocol for recovering lost packets in real-time multimedia communication is described in a recent ITU-T Recommendation called H.223, Multiplexing Protocol for Low Bit Rate Multimedia Communication, November 1995. This protocol is designed for communication over point-to-point PSTN links, and is not directly applicable to communication over packet data networks which exhibit high rates of packet loss. Furthermore, an important requirement of the retransmission scheme used in H.223 is that the sender be able to adjust its streaming rate to ensure that the retransmissions together with continuous streaming do not exceed the capacity of the point-to-point link. In the case of communication over packet data networks, the server is usually not aware of the loading on the access link that connects the client to the network, and therefore cannot automatically adjust its speed. Hence, the protocol used in H.223 is not applicable to multimedia streaming over a packet network.
Thus there is a need for a device, system and method for real-time multimedia streaming over a packet network with improved QoS, in general, and more particularly when the client is connected to the packet network via a low-speed access link.